package lispinterpreter;

import java.util.LinkedList;
import java.util.Stack;

public class LispList {

    private Stack<String> stack;
    
    public static LinkedList<String> lista;

    /**
     * Crea una nueva stacka encadenada
     */
    public LispList() {
	
	lista = new LinkedList<String>();
	//stack = new Stack<String>();
    }
//
//    /**
//     * Agrega el token a la stacka encadenada.
//     * 
//     * @param element
//     */
//    protected void addElement(String element) {
//	if (!element.isEmpty())
//	    stack.push(element);
//	else
//	    System.out.println("Intentó agregar un token vacío");
//    }
    
    /**
     * Agrega el token a la stacka encadenada.
     * 
     * @param element
     */
    protected void addElement(String element) {
	if (!element.isEmpty())
	    lista.push(element);
	else
	    System.out.println("Intentó agregar un token vacío");
    }

//    /**
//     * Muestra los elementos de la stacka como vector o como stacka
//     * 
//     * @param showAsVector
//     */
//    protected void showElementsAsVector(boolean showAsVector) {
//	if (showAsVector)
//	    System.out.println(stack);
//	else {
//	    for (String s : stack)
//		System.out.print("[" + s + "] ");
//	}
//    }
    
  /**
  * Muestra los elementos de la stacka como vector o como stacka
  * 
  * @param showAsVector
  */
 protected static void showElementsAsVector(boolean showAsVector) {
	if (showAsVector)
	    System.out.println(lista);
	else {
	    for (String s : lista)
		System.out.print("[ " + s + " ] ");
	}
 }
}
